package com.ruoyi.common.core.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.data.elasticsearch.annotations.Document;

import java.util.Date;

/**
 * 店铺信息管理对象 shop
 *
 * @author fxy
 * @date 2024-09-12
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Document(indexName = "shop")
public class Shop extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    @Excel(name = "ID")
    private Long id;

    /** 店名 */
    @Excel(name = "店名")
    private String name;

    /** 经营区域 */
    @Excel(name = "经营区域")
    private String operatingArea;

    /** 注册时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "注册时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date regTime;

    /** 最后更新时间用于做数据库和ES的数据同步 */
    private Date updataTime;

    /** 开始营业时间 */
    @JsonFormat(pattern = "HH:mm")
    @Excel(name = "开始营业时间", width = 20, dateFormat = "HH:mm")
//    @JsonFormat(pattern = "yyyy-MM-dd")
//    @Excel(name = "开始营业时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /** 停止营业时间 */
//    @JsonFormat(pattern = "yyyy-MM-dd")
//    @Excel(name = "停止营业时间", width = 30, dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "HH:mm")
    @Excel(name = "停止营业时间", width = 20, dateFormat = "HH:mm")
    private Date endTime;

    /** 详细地址 */
    @Excel(name = "详细地址")
    private String address;

    /** 经度 */
    @Excel(name = "经度")
    private String longitude;

    /** 纬度 */
    @Excel(name = "纬度")
    private String latitude;

    /** 商家介绍 */
    @Excel(name = "商家介绍")
    private String description;

    /** 门店照片 */
    @Excel(name = "门店照片")
    private String photo;

    /** 商家评分 */
    @Excel(name = "商家评分")
    private Long rate;

    /** 经营状态（0正常、1放假） */
    @Excel(name = "经营状态", readConverterExp = "0=正常、1放假")
    private Long status;

    /** 删除状态*/
    @Excel(name = "删除状态 ")
    private Long deleted;

    /** 审核状态(0待审核、1系统已审核、2已审核、3已拒绝) */
    @Excel(name = "审核状态(0待审核、1系统已审核、2已审核、3已拒绝)")
    private Long auditStatusId;

    /*es里边的type*/
    private String type;

    private ShopVerification shopVerification;
    /** 负责人 */
    private String director;

    /** 身份证号码 */
    private String idCard;
    private String businessLicenseId;

    /** 手机号 */
    private String mobile;


}
